XML Authority™, Extensibility's schema design and editing tool, provides extensive documentation on XML schemas. You can access these Help files either from XML Console (after specifying XML Authority as your default schema editor in User Preferences) or by running XML Authority alone.
Schemas Summary
XML includes tools that allow developers and authors to create common structures called schemas that can help provide meaning as well as syntax. Schemas help build networks of understanding, acting as contracts between all parties. Understanding how schemas model data will help you understand your documents better, producing cleaner and more reliable structures for communication.
A schema describes the vocabulary and structures that may appear in a document conforming to that schema. Schemas use their own formal grammars to express document structures and vocabulary. If a set of documents uses the same schema, the documents may have markedly different contents, but can share common processing. A schema for invoices, for example, would describe a class of documents that have very different contents (sender, recipient, rates and prices, services and goods, and, of course, total) but which have the same basic structure and can be processed by generic tools for handling invoices. Applications check documents against the schema, and process them only if the document passes inspection (more commonly called validation). This way, applications don't need to provide extensive error-handling or implement complex logic for determining the structure of a variety of different invoice formats. The schema allows applications to coordinate their activities safely and relatively easily.
Schemas provide constraints that documents must meet to be considered 'valid' and therefore safely processable. Those constraints can be used in a number of different applications, because schemas provide a formal vocabulary that can be processed and repurposed. Editing software can read a schema and use it to provide support to document authors, presenting them with acceptable choices along the way or perhaps even building their entire interface (like an entry form) around the contents of the schema. Applications that exchange documents can use the schema to double-check each other's work and make certain that all applications participating in the exchange are playing by the same set of rules. When errors appear, the receiving application can report them back to the sender, and hopefully have them corrected. Schemas provide an extra level of safety net above the core XML document structure, making it much simpler to exchange information reliably.
Another key task schemas help manage is the integration of documents and data. XML provides a framework in which both document and data structures can co-exist. Data may dominate a document (as when a document represents a relational database table) or appear as fragments scattered among document structures. When data and documents from multiple sources must merge into a single document, schemas can smooth the process by making sure the inputs are what they claim to be and that the output is delivered as it should be.
XML is an opportunity to start treating documents and data as partners rather than as separate worlds. XML schemas are a key tool for realizing this promise, creating structures that clearly identify document structure and data types within that structure. XML schemas can provide a map to your documents, letting you mix documents and data freely without ever locking the information into a document format that can't be used later for data extraction and processing. Data can be data, documents can be documents, and the two can be integrated without losing information. While XML has great promise in both document and data processing, its unique ability to bring the two together makes it far more powerful.
Copyright 2000 Extensibility, Inc.
Suite 250, 200 Franklin Street, Chapel Hill, North Carolina 27516